Communications between users over computer networks is routinely used to perform collaborative tasks. E-mail, for example, is frequently used to allow collaborators to share ideas and share in the performance of tasks. Sending messages back and forth during a collaborative project can occur on a company wide network as well as over the Internet. As network based messaging becomes more common, network users have legitimately become concerned about the security of such communications.
Messages from outside a company maintained network are routinely screened by means of software and hardware firewalls that accept only messages conforming to certain protocols. One common protocol that is understood by such firewalls is the hypertext transfer protocol (HTTP). A second commonly recognized protocol is the Internet relay chat protocol (IRC). The hypertext transfer protocol is commonly used by server computers to communicate data to client computers. One feature of HTTP is the typing and negotiation of data representation, allowing systems to communicate independently of the data being transferred. A client locates a server by means of a unique identifier and then polls the server for data using the HTTP protocol. The process of updating the contents transmitted to the client is dependent on the client periodically polling the server for new information.
The Internet relay chat (IRC) protocol has evolved over a number of years for use in text based conferencing and is also recognized by security firewalls commonly used to protect networks and/or computers from undesirable communications. A server forms the backbone of an IRC communications link. Multiple clients identified by a unique nickname connect to the server and communicate with each other. A channel within the IRC construct is a group of one or more clients which all receive messages addressed to that channel. Further details of the IRC protocol are contained in RFC (request for comments) 1459 of the network working group.